Skip to content

IInteractionContext interface

Defined in

Namespace: ReactiveUI Assembly: ReactiveUI.Core.dll Full name: ReactiveUI.IInteractionContext<T1, T2> Modifiers: public abstract

Summary

Contains contextual information for an interaction.

Applies to

net10.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net10.0-tvos26.0, net10.0-windows10.0.19041, net10.0-macos26.0, net10.0-ios26.0, net10.0-android36.0, net9.0, net9.0-tvos18.0, net9.0-macos15.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-ios18.0, net9.0-desktop1.0, net8.0, net8.0-windows10.0.19041, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.5, netstandard2.1, net481, net462, net471

Remarks

Instances of this class are passed into interaction handlers. The Input property exposes the input to the interaction, whilst the SetOutput method allows a handler to provide the output.

Handlers should call SetOutput exactly once; subsequent calls typically indicate a logic error and will throw. Check IsHandled before invoking long-running logic if only one handler should respond.

Examples

<![CDATA[
 ViewModel.ShowConfirmation.RegisterHandler(async context =>
 {
 var shouldDelete = await dialogService.ConfirmAsync(context.Input);
 context.SetOutput(shouldDelete);
 });
 ]]>

Properties

NameSummary
InputGets the input for the interaction.
IsHandledGets a value indicating whether the interaction is handled. That is, whether the output has been set.

Methods

NameSummary
SetOutputSets the output for the interaction.